package two.chapter_5.c5_2;

public interface StringST<Value> {

    void put(String key, Value value);

    Value get(String key);

    void delete(String key);

    boolean contains(String key);

    boolean isEmpty();

    /**
     * s的前缀中最长的键
     *
     * @param s
     * @return
     */
    String longestPrefixOf(String s);

    Iterable<String> keysWithPrefix(String s);

    Iterable<String> keysThatMatch(String s);

    int size();

    Iterable<String> keys();

}
